其他
【8】做数据分析,要不要掌握Linux系列:SSH免密登陆详细配置!
1、什么是SSH?
2、SSH由“客户端”和“服务端”的软件组成
netstat -nltp
"ps命令可以查看sshd的进程号。"
ps aux | grep ssh
3、SSH认证机制
1)基于口令的安全验证
2)基于秘钥的安全验证
客户端先生成一对密钥(公钥、私钥),私钥自己保留着,公钥远程拷贝给目标主机(你要远程登陆谁,谁就是目标主机),并将该公钥放到目标主机的授权池。 为什么是授权池? 你可以类比现实生活中的一个大池子,既然是池子,肯定可以容纳很多东西,它不仅可以接纳bigdata111发送过来的公钥,它还可以接纳来自其它机器发送过来的公钥,谁要是想登陆到我,直接都把公钥塞到我这个授权池就好啦。
完成上述发送公钥操作后,Ⅰ当客户端bigdata111请求登陆服务端bigdata112的时候,Ⅱ服务端检查是否存在这个公钥,如果公钥存在,Ⅲ服务端将该公钥加密一个随机字符串返回给客户端,Ⅳ客户端收到加密公钥后,便用自己的私钥解密返回给服务端。如果能够正确解密(解密后的字符串和加密后的字符串一致),就允许这个登陆请求。
知道上述原理后,免密登陆就显得很简单。在客户端生成一对密钥,然后把公钥发送到服务端的授权池,就OK了。
4、演示“远程拷贝”
Are you sure you want to continue connecting (yes/no)? yes
root@bigdata112's password: ******
Are you sure you want to continue connecting (yes/no)? yes
root@bigdata112's password: ******
a.txt
# 再次发送
[root@bigdata111 ~]# scp -r a.txt root@bigdata112:~/
root@bigdata111's password: ******
a.txt
[root@bigdata111 .ssh]# ll
total 4
-rw-r--r--. 1 root root 798 Sep 30 00:19 known_hosts
5、配置免密登录:和免密登陆相关的文件夹/root/.ssh
1)创建密钥对:ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
e1:ba:be:ee:23:cc:91:9f:9b:71:36:b6:84:91:b6:dc root@bigdata112
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . |
| o . |
| .+ S |
| oo * |
| o o*.E |
| + +O o |
| =O+. |
+-----------------+
total 12
-rw-------. 1 root root 1675 Sep 30 00:39 id_rsa
-rw-r--r--. 1 root root 397 Sep 30 00:39 id_rsa.pub
-rw-r--r--. 1 root root 798 Sep 30 00:19 known_hosts
发送公钥到另一台机器的授权池
[root@bigdata112 ~]# ll -a
total 68
dr-xr-x---. 4 root root 4096 Sep 30 00:22 .
dr-xr-xr-x. 22 root root 4096 Sep 29 18:45 ..
-rw-r--r--. 1 root root 81 Sep 30 00:48 a.txt
-rw-------. 1 root root 10420 Sep 29 23:30 .bash_history
-rw-r--r--. 1 root root 18 May 20 2009 .bash_logout
-rw-r--r--. 1 root root 176 May 20 2009 .bash_profile
-rw-r--r--. 1 root root 176 Sep 23 2004 .bashrc
-rw-r--r--. 1 root root 100 Sep 23 2004 .cshrc
-rw-------. 1 root root 125 Sep 30 00:03 .mysql_history
-rw-------. 1 root root 312 Sep 21 05:14 .mysql_secret
drwxr-xr-x. 2 root root 4096 Sep 20 19:33 .oracle_jre_usage
drwx------. 2 root root 4096 Sep 30 00:39 .ssh
-rw-r--r--. 1 root root 129 Dec 4 2004 .tcshrc
-rw-------. 1 root root 5900 Sep 29 22:45 .viminfo
[root@bigdata112 ~]# cd .ssh
[root@bigdata112 .ssh]# ll
total 0
root@192.168.2.112's password: ******
Now try logging into the machine, with "ssh '192.168.2.112'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
total 4
-rw-------. 1 root root 397 Sep 30 00:52 authorized_keys
6、检验
The authenticity of host 'bigdata112 (192.168.2.112)' can't be established.
RSA key fingerprint is 78:8c:77:14:bc:76:1a:83:dc:84:9f:f5:52:3b:b1:4c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bigdata112' (RSA) to the list of known hosts.
a.txt 100% 3 0.0KB/s 00:00
[root@bigdata111 ~]# scp -r a.txt root@bigdata112:~/
a.txt
Last login: Sun Sep 29 22:47:11 2019 from bigdata111
[root@bigdata112 ~]# exit
logout
Connection to bigdata112 closed.
[root@bigdata111 ~]#
----------End----------
为了公平起见,黄同学选择在朋友圈赠书,同时已经送了好多本书籍了。好处:这样一来,大家中奖概率也大,都会有机会的,很多都是刚刚加了我的好友,都中奖了!
方式一:复制我微信号aili1127421544,添加我微信;
方式二:长按扫描下方二维码,添加我微信;
备注:黄同学朋友圈福利多多,欢迎查阅!